#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDockWidget>
#include<QVBoxLayout>
#include<QLabel>
#include<QPushButton>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QDockWidget* dockwidget = new QDockWidget();
    this->addDockWidget(Qt::LeftDockWidgetArea,dockwidget);

    dockwidget->setWindowTitle("这是浮动窗口");
    //浮动窗口添加一些其他的空间，不能直接添加子控件，而是需要创建QWidget然后再把这个设置到dockWidget中
    QWidget* container = new QWidget();
    dockwidget->setWidget(container);
    //把布局管理器设置到QWidget中
    QVBoxLayout* layout = new QVBoxLayout();
    container->setLayout(layout);
    //创建其他控件到layout中
    QLabel* label = new QLabel("这是一个QLabel");
    QPushButton* button = new QPushButton("这是按钮");
    layout->addWidget(label);
    layout->addWidget(button);

    //dockwidget允许停靠的位置
    dockwidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
}

MainWindow::~MainWindow()
{
    delete ui;
}

